package com.campus.service;

import com.campus.exception.AgeIllegalException;
import com.campus.pojo.dto.StudentDTO;
import com.campus.pojo.dto.StudentLoginDTO;
import com.campus.pojo.dto.StudentPageQueryDTO;
import com.campus.pojo.po.Student;
import com.campus.pojo.vo.StudentVO;
import com.campus.result.PageResult;

public interface StudentService {
    /**
     * 分页查询学生列表
     * @param studentPageQueryDTO
     * @return
     */
    PageResult page(StudentPageQueryDTO studentPageQueryDTO);

    /**
     * 根据id查询学生信息
     * @param id
     * @return
     */
    StudentVO getById(Long id);

    /**
     * 删除学生信息
     * @param id
     */
    void delById(Long id);

    /**
     * 修改学生数据
     * @param studentDTO
     */
    void update(StudentDTO studentDTO) throws AgeIllegalException;

    /**
     * 新增学生信息
     * @param studentDTO
     */
    void addStudent(StudentDTO studentDTO);

    /**
     * 学生登录
     * @param studentLoginDTO
     * @return
     */
    Student login(StudentLoginDTO studentLoginDTO);
}
